const { get } = require('lodash');
const logger = require('./logger');

module.exports = function errorHandle(err, req, res, next) {
  logger.error('error handle: ', err);

  if (res.headersSent) { // 响应头已发送
    return next(err);
  }

  const e = {
    errCode: err.code || 1,
    errMsg: 'Server Internal Error'
  };

  // 通用错误
  e.errMsg = get(err, 'message', e.errMsg);

  return res.send(e);
};
